package com.xayy.health.mgt.model;

import cn.kawins.mybatis.base.BaseModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;

/**
 * 算法管理
 * @author zhangxa
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Table(name = "HEALTH.health_algorithm_manage")
public class HealthAlgorithmManage extends BaseModel<Long> {

    @Id
    @Column(name = "id")
    private Long id;

    @Column(name = "algorithm_name")
    @ApiModelProperty(value = "算法名称")
    private String algorithmName;

    @Column(name = "algorithm_code")
    @ApiModelProperty(value = "算法code")
    private String algorithmCode;

    @Column(name = "algorithm_type")
    @ApiModelProperty(value = "算法类型(1:剔野,2:填充,3:平滑,4:事后诊断,5:趋势预测)")
    private Integer algorithmType;

    @Column(name = "algorithm_desc")
    @ApiModelProperty("算法描述")
    private String algorithmDesc;

    @Column(name = "server_state")
    @ApiModelProperty(value = "服务状态(0 停止,1 运行)")
    private Boolean serverState;

    @Column(name = "algorithm_state")
    @ApiModelProperty(value = "算法状态(0 禁用,1 启用)")
    private Boolean algorithmState;

    @Column(name = "create_time")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @Column(name = "algorithm_file_name")
    @ApiModelProperty(value = "算法文件名称")
    private String algorithmFileName;

    @Column(name = "algorithm_path")
    @ApiModelProperty(value = "算法文件存储路劲")
    private String algorithmPath;

    @Column(name = "is_built_in_algorithms")
    @ApiModelProperty(value = "是否是内置算法 0不是1是")
    private Integer isBuiltInAlgorithms;

    @Column(name = "start_service_file")
    @ApiModelProperty(value = "算法服务启动文件名")
    private String startServiceFile;

    @Column(name = "trial_addr")
    @ApiModelProperty(value = "模型训练地址")
    private String trialAddr;

    @Column(name = "predict_addr")
    @ApiModelProperty(value = "模型调用地址")
    private String predictAddr;

    @Column(name = "trigger_type")
    @ApiModelProperty(value = "触发算法所需数据类型")
    private String triggerType;

    @Override
    public Long idValue() {
        return null;
    }
}
